using EnvDTE;

namespace Microsoft.WowAddonStudio.FrameXml.Components.Events.ScriptManager
{
    /// <summary>
    /// Manage a text file open in the editor, such as the Visual Studio Code editor.
    /// </summary>
    public interface IDocumentManager
    {
        /// <summary>
        /// Determines whether [is function exists] [the specified name].
        /// </summary>
        /// <param name="functionName">The name.</param>
        /// <returns>
        /// 	<c>true</c> if [is function exists] [the specified name]; otherwise, <c>false</c>.
        /// </returns>
        bool DoesFunctionExist(string functionName);

        /// <summary>
        /// Creates the show function.
        /// </summary>
        /// <param name="functionName">Name of the event handler.</param>
        void CreateFunction(string functionName);

        /// <summary>
        /// Shows the function.
        /// </summary>
        /// <param name="functionName">Name of the event handler.</param>
        void ShowFunction(string functionName);

        /// <summary>
        /// Gets a value indicating whether this instance is valid.
        /// </summary>
        /// <value><c>true</c> if this instance is valid; otherwise, <c>false</c>.</value>
        bool IsValid { get; }
    }
}